package com.azt.provider.mapper;

import com.azt.api.dto.member.MemberExt;
import com.azt.api.dto.member.MemberParam;
import com.azt.api.pojo.Member;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface MemberMapper extends Mapper<Member> {
    public List<Member> selectMemberList(Map<String, String> params);

    public Member selectMemberOne(Integer id);
    
    Double getTotalPayPrice(@Param("orderType") int orderType, @Param("sellerCompanyId") int sellerCompanyId, @Param("sdate") Date sdate, @Param("edate") Date edate);

    /**
     * 查询集采供应商商品列表
     * */
    List<Map> searchMemberProduct(Map param);

    /**
     * 获取已支付的总金额（写在这个模块是为了防止user模块依赖order模块从而造成循环依赖问题）
     * */
    double getPayedPrice(@Param("sellerCompanyId") Integer sellerCompanyId, @Param("sdate") Date sdate, @Param("edate") Date edate);
    
    Member selectValidateMem(String startdate,String mid);

    /**
     * 根据参数查出Member扩展数据
     * Created by 张栋 on 2017/2/14 11:15
     */
    List<MemberExt> getMembersExtByParam(@Param("param") MemberParam param);
    
    /**
     * 根据公司id获取当前签约期内唯一集采对象
     * @Title: getSignMemberByCompanyId 
     * @Description: TODO
     * @param companyId
     * @return
     * @return: Member
     * @author: zhoudongdong 2017年3月3日 上午10:15:37
     */
    public Member getSignMemberByCompanyId(Integer companyId);
}